TSTP Solution File: ALG258^1 by Zipperpin---2.1.9999
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Zipperpin---2.1.9999
% Problem : ALG258^1 : TPTP v8.1.2. Bugfixed v5.2.0.
% Transfm : NO INFORMATION
% Format : NO INFORMATION
% Command : python3 /export/starexec/sandbox2/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox2/tmp/tmp.Hqsl0p5v8H true
% Computer : n024.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8042.1875MB
% OS : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Wed Aug 30 17:12:31 EDT 2023
% Result : Theorem 19.23s 3.06s
% Output : Refutation 19.23s
% Verified :
% SZS Type : Refutation
% Derivation depth : 46
% Number of leaves : 119
% Syntax : Number of formulae : 202 ( 98 unt; 49 typ; 0 def)
% Number of atoms : 3336 ( 885 equ; 43 cnn)
% Maximal formula atoms : 145 ( 21 avg)
% Number of connectives : 11728 ( 119 ~; 3 |; 94 &;7778 @)
% ( 0 <=>;1740 =>; 0 <=; 0 <~>)
% Maximal formula depth : 44 ( 8 avg)
% Number of types : 3 ( 2 usr)
% Number of type conns : 305 ( 305 >; 0 *; 0 +; 0 <<)
% Number of symbols : 51 ( 47 usr; 40 con; 0-4 aty)
% (1994 !!; 0 ??; 0 @@+; 0 @@-)
% Number of variables : 2464 (2020 ^; 444 !; 0 ?;2464 :)
% Comments :
%------------------------------------------------------------------------------
thf(term_type,type,
term: $tType ).
thf(subst_type,type,
subst: $tType ).
thf(axmap_type,type,
axmap: $o ).
thf('#sk491_type',type,
'#sk491': term ).
thf(axclos_type,type,
axclos: $o ).
thf(lam_type,type,
lam: term > term ).
thf(lamnotap_type,type,
lamnotap: $o ).
thf(axvarcons_type,type,
axvarcons: $o ).
thf(substmonoid_type,type,
substmonoid: $o ).
thf(push_type,type,
push: term > subst > subst ).
thf(axshiftcons_type,type,
axshiftcons: $o ).
thf(hoasapinj1_type,type,
hoasapinj1: $o ).
thf(axapp_type,type,
axapp: $o ).
thf(shinj_type,type,
shinj: $o ).
thf(hoasap_type,type,
hoasap: subst > term > subst > term > term ).
thf(hoaslaminj_type,type,
hoaslaminj: $o ).
thf('#sk467_type',type,
'#sk467': subst ).
thf(one_type,type,
one: term ).
thf('#sk374_type',type,
'#sk374': subst > term > term ).
thf(id_type,type,
id: subst ).
thf(comp_type,type,
comp: subst > subst > subst ).
thf(induction2_type,type,
induction2: $o ).
thf(axvarid_type,type,
axvarid: $o ).
thf(axvarshift_type,type,
axvarshift: $o ).
thf(induction2lem_type,type,
induction2lem: $o ).
thf(sh_type,type,
sh: subst ).
thf(laminj_type,type,
laminj: $o ).
thf(ulamvarind_type,type,
ulamvarind: $o ).
thf(apinj2_type,type,
apinj2: $o ).
thf(ulamvarsh_type,type,
ulamvarsh: $o ).
thf('#sk263_type',type,
'#sk263': subst > term > term ).
thf(lamnotvar_type,type,
lamnotvar: $o ).
thf(apnotvar_type,type,
apnotvar: $o ).
thf(pushprop_type,type,
pushprop: $o ).
thf(sub_type,type,
sub: term > subst > term ).
thf(apinj1_type,type,
apinj1: $o ).
thf(axidl_type,type,
axidl: $o ).
thf(ap_type,type,
ap: term > term > term ).
thf(termmset_type,type,
termmset: $o ).
thf(hoasapinj2_type,type,
hoasapinj2: $o ).
thf(var_type,type,
var: term > $o ).
thf(axassoc_type,type,
axassoc: $o ).
thf(hoaslam_type,type,
hoaslam: subst > ( subst > term > term ) > term ).
thf(hoaslaminj_gthm_type,type,
hoaslaminj_gthm: $o ).
thf(axidr_type,type,
axidr: $o ).
thf(axabs_type,type,
axabs: $o ).
thf(ulamvar1_type,type,
ulamvar1: $o ).
thf(induction_type,type,
induction: $o ).
thf(axscons_type,type,
axscons: $o ).
thf(hoaslaminj_gthm,axiom,
( hoaslaminj_gthm
= ( axapp
=> ( axvarcons
=> ( axvarid
=> ( axabs
=> ( axclos
=> ( axidl
=> ( axshiftcons
=> ( axassoc
=> ( axmap
=> ( axidr
=> ( axvarshift
=> ( axscons
=> ( ulamvar1
=> ( ulamvarsh
=> ( ulamvarind
=> ( apinj1
=> ( apinj2
=> ( laminj
=> ( shinj
=> ( lamnotap
=> ( apnotvar
=> ( lamnotvar
=> ( induction
=> ( pushprop
=> ( induction2lem
=> ( induction2
=> ( substmonoid
=> ( termmset
=> ( hoasapinj1
=> ( hoasapinj2
=> hoaslaminj ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).
thf('0',plain,
( hoaslaminj_gthm
= ( axapp
=> ( axvarcons
=> ( axvarid
=> ( axabs
=> ( axclos
=> ( axidl
=> ( axshiftcons
=> ( axassoc
=> ( axmap
=> ( axidr
=> ( axvarshift
=> ( axscons
=> ( ulamvar1
=> ( ulamvarsh
=> ( ulamvarind
=> ( apinj1
=> ( apinj2
=> ( laminj
=> ( shinj
=> ( lamnotap
=> ( apnotvar
=> ( lamnotvar
=> ( induction
=> ( pushprop
=> ( induction2lem
=> ( induction2
=> ( substmonoid
=> ( termmset
=> ( hoasapinj1
=> ( hoasapinj2
=> hoaslaminj ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(hoaslaminj,axiom,
( hoaslaminj
= ( ! [F: subst > term > term] :
( ! [M: subst,A: term,N: subst] :
( ( sub @ ( F @ M @ A ) @ N )
= ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) )
=> ! [G: subst > term > term] :
( ! [M: subst,A: term,N: subst] :
( ( sub @ ( G @ M @ A ) @ N )
= ( G @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) )
=> ( ( ( hoaslam @ id
@ ^ [M: subst,A: term] : ( F @ M @ A ) )
= ( hoaslam @ id
@ ^ [M: subst,A: term] : ( G @ M @ A ) ) )
=> ! [M: subst,A: term] :
( ( F @ M @ A )
= ( G @ M @ A ) ) ) ) ) ) ) ).
thf('1',plain,
( hoaslaminj
= ( ! [X4: subst > term > term] :
( ! [X6: subst,X8: term,X10: subst] :
( ( sub @ ( X4 @ X6 @ X8 ) @ X10 )
= ( X4 @ ( comp @ X6 @ X10 ) @ ( sub @ X8 @ X10 ) ) )
=> ! [X12: subst > term > term] :
( ! [X14: subst,X16: term,X18: subst] :
( ( sub @ ( X12 @ X14 @ X16 ) @ X18 )
= ( X12 @ ( comp @ X14 @ X18 ) @ ( sub @ X16 @ X18 ) ) )
=> ( ( ( hoaslam @ id
@ ^ [V_1: subst,V_2: term] : ( X4 @ V_1 @ V_2 ) )
= ( hoaslam @ id
@ ^ [V_3: subst,V_4: term] : ( X12 @ V_3 @ V_4 ) ) )
=> ! [X20: subst,X22: term] :
( ( X4 @ X20 @ X22 )
= ( X12 @ X20 @ X22 ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(hoasapinj2,axiom,
( hoasapinj2
= ( ! [A: term,B: term,C: term,D: term] :
( ( ( hoasap @ id @ A @ id @ C )
= ( hoasap @ id @ B @ id @ D ) )
=> ( C = D ) ) ) ) ).
thf('2',plain,
( hoasapinj2
= ( ! [X4: term,X6: term,X8: term,X10: term] :
( ( ( hoasap @ id @ X4 @ id @ X8 )
= ( hoasap @ id @ X6 @ id @ X10 ) )
=> ( X8 = X10 ) ) ) ),
define([status(thm)]) ).
thf(hoasapinj1,axiom,
( hoasapinj1
= ( ! [A: term,B: term,C: term,D: term] :
( ( ( hoasap @ id @ A @ id @ C )
= ( hoasap @ id @ B @ id @ D ) )
=> ( A = B ) ) ) ) ).
thf('3',plain,
( hoasapinj1
= ( ! [X4: term,X6: term,X8: term,X10: term] :
( ( ( hoasap @ id @ X4 @ id @ X8 )
= ( hoasap @ id @ X6 @ id @ X10 ) )
=> ( X4 = X6 ) ) ) ),
define([status(thm)]) ).
thf(hoaslam,axiom,
( hoaslam
= ( ^ [M: subst,F: subst > term > term] : ( lam @ ( F @ sh @ one ) ) ) ) ).
thf('4',plain,
( hoaslam
= ( ^ [M: subst,F: subst > term > term] : ( lam @ ( F @ sh @ one ) ) ) ),
inference(simplify_rw_rule,[status(thm)],[hoaslam]) ).
thf('5',plain,
( hoaslam
= ( ^ [V_1: subst,V_2: subst > term > term] : ( lam @ ( V_2 @ sh @ one ) ) ) ),
define([status(thm)]) ).
thf(hoasap,axiom,
( hoasap
= ( ^ [M: subst,A: term,N: subst,B: term] : ( ap @ ( sub @ A @ N ) @ B ) ) ) ).
thf('6',plain,
( hoasap
= ( ^ [M: subst,A: term,N: subst,B: term] : ( ap @ ( sub @ A @ N ) @ B ) ) ),
inference(simplify_rw_rule,[status(thm)],[hoasap]) ).
thf('7',plain,
( hoasap
= ( ^ [V_1: subst,V_2: term,V_3: subst,V_4: term] : ( ap @ ( sub @ V_2 @ V_3 ) @ V_4 ) ) ),
define([status(thm)]) ).
thf(termmset,axiom,
( termmset
= ( ! [A: term] :
( ( sub @ A @ id )
= A )
& ! [A: term,M: subst,N: subst] :
( ( sub @ ( sub @ A @ M ) @ N )
= ( sub @ A @ ( comp @ M @ N ) ) ) ) ) ).
thf('8',plain,
( termmset
= ( ! [X4: term] :
( ( sub @ X4 @ id )
= X4 )
& ! [X6: term,X8: subst,X10: subst] :
( ( sub @ ( sub @ X6 @ X8 ) @ X10 )
= ( sub @ X6 @ ( comp @ X8 @ X10 ) ) ) ) ),
define([status(thm)]) ).
thf(substmonoid,axiom,
( substmonoid
= ( ! [M: subst] :
( ( comp @ M @ id )
= M )
& ! [M: subst] :
( ( comp @ id @ M )
= M )
& ! [M: subst,N: subst,K: subst] :
( ( comp @ ( comp @ M @ N ) @ K )
= ( comp @ M @ ( comp @ N @ K ) ) ) ) ) ).
thf('9',plain,
( substmonoid
= ( ! [X4: subst] :
( ( comp @ X4 @ id )
= X4 )
& ! [X6: subst] :
( ( comp @ id @ X6 )
= X6 )
& ! [X8: subst,X10: subst,X12: subst] :
( ( comp @ ( comp @ X8 @ X10 ) @ X12 )
= ( comp @ X8 @ ( comp @ X10 @ X12 ) ) ) ) ),
define([status(thm)]) ).
thf(induction2,axiom,
( induction2
= ( ! [P: term > $o] :
( ! [A: term] :
( ( var @ A )
=> ( P @ A ) )
=> ( ! [A: term,B: term] :
( ( P @ A )
=> ( ( P @ B )
=> ( P @ ( ap @ A @ B ) ) ) )
=> ( ! [A: term] :
( ! [B: term] :
( ( P @ B )
=> ( P @ ( sub @ A @ ( push @ B @ id ) ) ) )
=> ( P @ ( lam @ A ) ) )
=> ! [A: term] : ( P @ A ) ) ) ) ) ) ).
thf('10',plain,
( induction2
= ( ! [X4: term > $o] :
( ! [X6: term] :
( ( var @ X6 )
=> ( X4 @ X6 ) )
=> ( ! [X8: term,X10: term] :
( ( X4 @ X8 )
=> ( ( X4 @ X10 )
=> ( X4 @ ( ap @ X8 @ X10 ) ) ) )
=> ( ! [X12: term] :
( ! [X14: term] :
( ( X4 @ X14 )
=> ( X4 @ ( sub @ X12 @ ( push @ X14 @ id ) ) ) )
=> ( X4 @ ( lam @ X12 ) ) )
=> ! [X16: term] : ( X4 @ X16 ) ) ) ) ) ),
define([status(thm)]) ).
thf(induction2lem,axiom,
( induction2lem
= ( ! [P: term > $o] :
( ! [A: term,B: term] :
( ( P @ A )
=> ( ( P @ B )
=> ( P @ ( ap @ A @ B ) ) ) )
=> ( ! [A: term] :
( ! [B: term] :
( ( P @ B )
=> ( P @ ( sub @ A @ ( push @ B @ id ) ) ) )
=> ( P @ ( lam @ A ) ) )
=> ! [A: term,M: subst] :
( ! [B: term] :
( ( var @ B )
=> ( P @ ( sub @ B @ M ) ) )
=> ( P @ ( sub @ A @ M ) ) ) ) ) ) ) ).
thf('11',plain,
( induction2lem
= ( ! [X4: term > $o] :
( ! [X6: term,X8: term] :
( ( X4 @ X6 )
=> ( ( X4 @ X8 )
=> ( X4 @ ( ap @ X6 @ X8 ) ) ) )
=> ( ! [X10: term] :
( ! [X12: term] :
( ( X4 @ X12 )
=> ( X4 @ ( sub @ X10 @ ( push @ X12 @ id ) ) ) )
=> ( X4 @ ( lam @ X10 ) ) )
=> ! [X14: term,X16: subst] :
( ! [X18: term] :
( ( var @ X18 )
=> ( X4 @ ( sub @ X18 @ X16 ) ) )
=> ( X4 @ ( sub @ X14 @ X16 ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(pushprop,axiom,
( pushprop
= ( ! [P: term > $o,A: term,M: subst] :
( ! [B: term] :
( ( var @ B )
=> ( P @ ( sub @ B @ M ) ) )
=> ( ( P @ A )
=> ! [B: term] :
( ( var @ B )
=> ( P @ ( sub @ B @ ( push @ A @ M ) ) ) ) ) ) ) ) ).
thf('12',plain,
( pushprop
= ( ! [X4: term > $o,X6: term,X8: subst] :
( ! [X10: term] :
( ( var @ X10 )
=> ( X4 @ ( sub @ X10 @ X8 ) ) )
=> ( ( X4 @ X6 )
=> ! [X12: term] :
( ( var @ X12 )
=> ( X4 @ ( sub @ X12 @ ( push @ X6 @ X8 ) ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(induction,axiom,
( induction
= ( ! [P: term > $o] :
( ! [A: term] :
( ( var @ A )
=> ( P @ A ) )
=> ( ! [A: term,B: term] :
( ( P @ A )
=> ( ( P @ B )
=> ( P @ ( ap @ A @ B ) ) ) )
=> ( ! [A: term] :
( ( P @ A )
=> ( P @ ( lam @ A ) ) )
=> ! [A: term] : ( P @ A ) ) ) ) ) ) ).
thf('13',plain,
( induction
= ( ! [X4: term > $o] :
( ! [X6: term] :
( ( var @ X6 )
=> ( X4 @ X6 ) )
=> ( ! [X8: term,X10: term] :
( ( X4 @ X8 )
=> ( ( X4 @ X10 )
=> ( X4 @ ( ap @ X8 @ X10 ) ) ) )
=> ( ! [X12: term] :
( ( X4 @ X12 )
=> ( X4 @ ( lam @ X12 ) ) )
=> ! [X14: term] : ( X4 @ X14 ) ) ) ) ) ),
define([status(thm)]) ).
thf(lamnotvar,axiom,
( lamnotvar
= ( ! [A: term] :
~ ( var @ ( lam @ A ) ) ) ) ).
thf('14',plain,
( lamnotvar
= ( ! [X4: term] :
~ ( var @ ( lam @ X4 ) ) ) ),
define([status(thm)]) ).
thf(apnotvar,axiom,
( apnotvar
= ( ! [A: term,B: term] :
~ ( var @ ( ap @ A @ B ) ) ) ) ).
thf('15',plain,
( apnotvar
= ( ! [X4: term,X6: term] :
~ ( var @ ( ap @ X4 @ X6 ) ) ) ),
define([status(thm)]) ).
thf(lamnotap,axiom,
( lamnotap
= ( ! [A: term,B: term,C: term] :
( ( lam @ A )
!= ( ap @ B @ C ) ) ) ) ).
thf('16',plain,
( lamnotap
= ( ! [X4: term,X6: term,X8: term] :
( ( lam @ X4 )
!= ( ap @ X6 @ X8 ) ) ) ),
define([status(thm)]) ).
thf(shinj,axiom,
( shinj
= ( ! [A: term,B: term] :
( ( ( sub @ A @ sh )
= ( sub @ B @ sh ) )
=> ( A = B ) ) ) ) ).
thf('17',plain,
( shinj
= ( ! [X4: term,X6: term] :
( ( ( sub @ X4 @ sh )
= ( sub @ X6 @ sh ) )
=> ( X4 = X6 ) ) ) ),
define([status(thm)]) ).
thf(laminj,axiom,
( laminj
= ( ! [A: term,B: term] :
( ( ( lam @ A )
= ( lam @ B ) )
=> ( A = B ) ) ) ) ).
thf('18',plain,
( laminj
= ( ! [X4: term,X6: term] :
( ( ( lam @ X4 )
= ( lam @ X6 ) )
=> ( X4 = X6 ) ) ) ),
define([status(thm)]) ).
thf(apinj2,axiom,
( apinj2
= ( ! [A: term,B: term,C: term,D: term] :
( ( ( ap @ A @ C )
= ( ap @ B @ D ) )
=> ( C = D ) ) ) ) ).
thf('19',plain,
( apinj2
= ( ! [X4: term,X6: term,X8: term,X10: term] :
( ( ( ap @ X4 @ X8 )
= ( ap @ X6 @ X10 ) )
=> ( X8 = X10 ) ) ) ),
define([status(thm)]) ).
thf(apinj1,axiom,
( apinj1
= ( ! [A: term,B: term,C: term,D: term] :
( ( ( ap @ A @ C )
= ( ap @ B @ D ) )
=> ( A = B ) ) ) ) ).
thf('20',plain,
( apinj1
= ( ! [X4: term,X6: term,X8: term,X10: term] :
( ( ( ap @ X4 @ X8 )
= ( ap @ X6 @ X10 ) )
=> ( X4 = X6 ) ) ) ),
define([status(thm)]) ).
thf(ulamvarind,axiom,
( ulamvarind
= ( ! [P: term > $o] :
( ( P @ one )
=> ( ! [A: term] :
( ( var @ A )
=> ( ( P @ A )
=> ( P @ ( sub @ A @ sh ) ) ) )
=> ! [A: term] :
( ( var @ A )
=> ( P @ A ) ) ) ) ) ) ).
thf('21',plain,
( ulamvarind
= ( ! [X4: term > $o] :
( ( X4 @ one )
=> ( ! [X6: term] :
( ( var @ X6 )
=> ( ( X4 @ X6 )
=> ( X4 @ ( sub @ X6 @ sh ) ) ) )
=> ! [X8: term] :
( ( var @ X8 )
=> ( X4 @ X8 ) ) ) ) ) ),
define([status(thm)]) ).
thf(ulamvarsh,axiom,
( ulamvarsh
= ( ! [A: term] :
( ( var @ A )
=> ( var @ ( sub @ A @ sh ) ) ) ) ) ).
thf('22',plain,
( ulamvarsh
= ( ! [X4: term] :
( ( var @ X4 )
=> ( var @ ( sub @ X4 @ sh ) ) ) ) ),
define([status(thm)]) ).
thf(ulamvar1,axiom,
( ulamvar1
= ( var @ one ) ) ).
thf('23',plain,
( ulamvar1
= ( var @ one ) ),
inference(simplify_rw_rule,[status(thm)],[ulamvar1]) ).
thf('24',plain,
( ulamvar1
= ( var @ one ) ),
define([status(thm)]) ).
thf(axscons,axiom,
( axscons
= ( ! [M: subst] :
( ( push @ ( sub @ one @ M ) @ ( comp @ sh @ M ) )
= M ) ) ) ).
thf('25',plain,
( axscons
= ( ! [X4: subst] :
( ( push @ ( sub @ one @ X4 ) @ ( comp @ sh @ X4 ) )
= X4 ) ) ),
define([status(thm)]) ).
thf(axvarshift,axiom,
( axvarshift
= ( ( push @ one @ sh )
= id ) ) ).
thf('26',plain,
( axvarshift
= ( ( push @ one @ sh )
= id ) ),
define([status(thm)]) ).
thf(axidr,axiom,
( axidr
= ( ! [M: subst] :
( ( comp @ M @ id )
= M ) ) ) ).
thf('27',plain,
( axidr
= ( ! [X4: subst] :
( ( comp @ X4 @ id )
= X4 ) ) ),
define([status(thm)]) ).
thf(axmap,axiom,
( axmap
= ( ! [A: term,M: subst,N: subst] :
( ( comp @ ( push @ A @ M ) @ N )
= ( push @ ( sub @ A @ N ) @ ( comp @ M @ N ) ) ) ) ) ).
thf('28',plain,
( axmap
= ( ! [X4: term,X6: subst,X8: subst] :
( ( comp @ ( push @ X4 @ X6 ) @ X8 )
= ( push @ ( sub @ X4 @ X8 ) @ ( comp @ X6 @ X8 ) ) ) ) ),
define([status(thm)]) ).
thf(axassoc,axiom,
( axassoc
= ( ! [M: subst,N: subst,K: subst] :
( ( comp @ ( comp @ M @ N ) @ K )
= ( comp @ M @ ( comp @ N @ K ) ) ) ) ) ).
thf('29',plain,
( axassoc
= ( ! [X4: subst,X6: subst,X8: subst] :
( ( comp @ ( comp @ X4 @ X6 ) @ X8 )
= ( comp @ X4 @ ( comp @ X6 @ X8 ) ) ) ) ),
define([status(thm)]) ).
thf(axshiftcons,axiom,
( axshiftcons
= ( ! [A: term,M: subst] :
( ( comp @ sh @ ( push @ A @ M ) )
= M ) ) ) ).
thf('30',plain,
( axshiftcons
= ( ! [X4: term,X6: subst] :
( ( comp @ sh @ ( push @ X4 @ X6 ) )
= X6 ) ) ),
define([status(thm)]) ).
thf(axidl,axiom,
( axidl
= ( ! [M: subst] :
( ( comp @ id @ M )
= M ) ) ) ).
thf('31',plain,
( axidl
= ( ! [X4: subst] :
( ( comp @ id @ X4 )
= X4 ) ) ),
define([status(thm)]) ).
thf(axclos,axiom,
( axclos
= ( ! [A: term,M: subst,N: subst] :
( ( sub @ ( sub @ A @ M ) @ N )
= ( sub @ A @ ( comp @ M @ N ) ) ) ) ) ).
thf('32',plain,
( axclos
= ( ! [X4: term,X6: subst,X8: subst] :
( ( sub @ ( sub @ X4 @ X6 ) @ X8 )
= ( sub @ X4 @ ( comp @ X6 @ X8 ) ) ) ) ),
define([status(thm)]) ).
thf(axabs,axiom,
( axabs
= ( ! [A: term,M: subst] :
( ( sub @ ( lam @ A ) @ M )
= ( lam @ ( sub @ A @ ( push @ one @ ( comp @ M @ sh ) ) ) ) ) ) ) ).
thf('33',plain,
( axabs
= ( ! [X4: term,X6: subst] :
( ( sub @ ( lam @ X4 ) @ X6 )
= ( lam @ ( sub @ X4 @ ( push @ one @ ( comp @ X6 @ sh ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(axvarid,axiom,
( axvarid
= ( ! [A: term] :
( ( sub @ A @ id )
= A ) ) ) ).
thf('34',plain,
( axvarid
= ( ! [X4: term] :
( ( sub @ X4 @ id )
= X4 ) ) ),
define([status(thm)]) ).
thf(axvarcons,axiom,
( axvarcons
= ( ! [A: term,M: subst] :
( ( sub @ one @ ( push @ A @ M ) )
= A ) ) ) ).
thf('35',plain,
( axvarcons
= ( ! [X4: term,X6: subst] :
( ( sub @ one @ ( push @ X4 @ X6 ) )
= X4 ) ) ),
define([status(thm)]) ).
thf(axapp,axiom,
( axapp
= ( ! [A: term,B: term,M: subst] :
( ( sub @ ( ap @ A @ B ) @ M )
= ( ap @ ( sub @ A @ M ) @ ( sub @ B @ M ) ) ) ) ) ).
thf('36',plain,
( axapp
= ( ! [X4: term,X6: term,X8: subst] :
( ( sub @ ( ap @ X4 @ X6 ) @ X8 )
= ( ap @ ( sub @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) ) ) ),
define([status(thm)]) ).
thf(thm,conjecture,
hoaslaminj_gthm ).
thf(zf_stmt_0,conjecture,
( ! [X4: term,X6: term,X8: subst] :
( ( sub @ ( ap @ X4 @ X6 ) @ X8 )
= ( ap @ ( sub @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) )
=> ( ! [X10: term,X12: subst] :
( ( sub @ one @ ( push @ X10 @ X12 ) )
= X10 )
=> ( ! [X14: term] :
( ( sub @ X14 @ id )
= X14 )
=> ( ! [X16: term,X18: subst] :
( ( sub @ ( lam @ X16 ) @ X18 )
= ( lam @ ( sub @ X16 @ ( push @ one @ ( comp @ X18 @ sh ) ) ) ) )
=> ( ! [X20: term,X22: subst,X24: subst] :
( ( sub @ ( sub @ X20 @ X22 ) @ X24 )
= ( sub @ X20 @ ( comp @ X22 @ X24 ) ) )
=> ( ! [X26: subst] :
( ( comp @ id @ X26 )
= X26 )
=> ( ! [X28: term,X30: subst] :
( ( comp @ sh @ ( push @ X28 @ X30 ) )
= X30 )
=> ( ! [X32: subst,X34: subst,X36: subst] :
( ( comp @ ( comp @ X32 @ X34 ) @ X36 )
= ( comp @ X32 @ ( comp @ X34 @ X36 ) ) )
=> ( ! [X38: term,X40: subst,X42: subst] :
( ( comp @ ( push @ X38 @ X40 ) @ X42 )
= ( push @ ( sub @ X38 @ X42 ) @ ( comp @ X40 @ X42 ) ) )
=> ( ! [X44: subst] :
( ( comp @ X44 @ id )
= X44 )
=> ( ( ( push @ one @ sh )
= id )
=> ( ! [X46: subst] :
( ( push @ ( sub @ one @ X46 ) @ ( comp @ sh @ X46 ) )
= X46 )
=> ( ( var @ one )
=> ( ! [X48: term] :
( ( var @ X48 )
=> ( var @ ( sub @ X48 @ sh ) ) )
=> ( ! [X50: term > $o] :
( ( X50 @ one )
=> ( ! [X52: term] :
( ( var @ X52 )
=> ( ( X50 @ X52 )
=> ( X50 @ ( sub @ X52 @ sh ) ) ) )
=> ! [X54: term] :
( ( var @ X54 )
=> ( X50 @ X54 ) ) ) )
=> ( ! [X56: term,X58: term,X60: term,X62: term] :
( ( ( ap @ X56 @ X60 )
= ( ap @ X58 @ X62 ) )
=> ( X56 = X58 ) )
=> ( ! [X64: term,X66: term,X68: term,X70: term] :
( ( ( ap @ X64 @ X68 )
= ( ap @ X66 @ X70 ) )
=> ( X68 = X70 ) )
=> ( ! [X72: term,X74: term] :
( ( ( lam @ X72 )
= ( lam @ X74 ) )
=> ( X72 = X74 ) )
=> ( ! [X76: term,X78: term] :
( ( ( sub @ X76 @ sh )
= ( sub @ X78 @ sh ) )
=> ( X76 = X78 ) )
=> ( ! [X80: term,X82: term,X84: term] :
( ( lam @ X80 )
!= ( ap @ X82 @ X84 ) )
=> ( ! [X86: term,X88: term] :
~ ( var @ ( ap @ X86 @ X88 ) )
=> ( ! [X90: term] :
~ ( var @ ( lam @ X90 ) )
=> ( ! [X92: term > $o] :
( ! [X94: term] :
( ( var @ X94 )
=> ( X92 @ X94 ) )
=> ( ! [X96: term,X98: term] :
( ( X92 @ X96 )
=> ( ( X92 @ X98 )
=> ( X92 @ ( ap @ X96 @ X98 ) ) ) )
=> ( ! [X100: term] :
( ( X92 @ X100 )
=> ( X92 @ ( lam @ X100 ) ) )
=> ! [X102: term] : ( X92 @ X102 ) ) ) )
=> ( ! [X104: term > $o,X106: term,X108: subst] :
( ! [X110: term] :
( ( var @ X110 )
=> ( X104 @ ( sub @ X110 @ X108 ) ) )
=> ( ( X104 @ X106 )
=> ! [X112: term] :
( ( var @ X112 )
=> ( X104 @ ( sub @ X112 @ ( push @ X106 @ X108 ) ) ) ) ) )
=> ( ! [X114: term > $o] :
( ! [X116: term,X118: term] :
( ( X114 @ X116 )
=> ( ( X114 @ X118 )
=> ( X114 @ ( ap @ X116 @ X118 ) ) ) )
=> ( ! [X120: term] :
( ! [X122: term] :
( ( X114 @ X122 )
=> ( X114 @ ( sub @ X120 @ ( push @ X122 @ id ) ) ) )
=> ( X114 @ ( lam @ X120 ) ) )
=> ! [X124: term,X126: subst] :
( ! [X128: term] :
( ( var @ X128 )
=> ( X114 @ ( sub @ X128 @ X126 ) ) )
=> ( X114 @ ( sub @ X124 @ X126 ) ) ) ) )
=> ( ! [X130: term > $o] :
( ! [X132: term] :
( ( var @ X132 )
=> ( X130 @ X132 ) )
=> ( ! [X134: term,X136: term] :
( ( X130 @ X134 )
=> ( ( X130 @ X136 )
=> ( X130 @ ( ap @ X134 @ X136 ) ) ) )
=> ( ! [X138: term] :
( ! [X140: term] :
( ( X130 @ X140 )
=> ( X130 @ ( sub @ X138 @ ( push @ X140 @ id ) ) ) )
=> ( X130 @ ( lam @ X138 ) ) )
=> ! [X142: term] : ( X130 @ X142 ) ) ) )
=> ( ( ! [X148: subst,X150: subst,X152: subst] :
( ( comp @ ( comp @ X148 @ X150 ) @ X152 )
= ( comp @ X148 @ ( comp @ X150 @ X152 ) ) )
& ! [X146: subst] :
( ( comp @ id @ X146 )
= X146 )
& ! [X144: subst] :
( ( comp @ X144 @ id )
= X144 ) )
=> ( ( ! [X156: term,X158: subst,X160: subst] :
( ( sub @ ( sub @ X156 @ X158 ) @ X160 )
= ( sub @ X156 @ ( comp @ X158 @ X160 ) ) )
& ! [X154: term] :
( ( sub @ X154 @ id )
= X154 ) )
=> ( ! [X162: term,X164: term,X166: term,X168: term] :
( ( ( ap @ ( sub @ X162 @ id ) @ X166 )
= ( ap @ ( sub @ X164 @ id ) @ X168 ) )
=> ( X162 = X164 ) )
=> ( ! [X170: term,X172: term,X174: term,X176: term] :
( ( ( ap @ ( sub @ X170 @ id ) @ X174 )
= ( ap @ ( sub @ X172 @ id ) @ X176 ) )
=> ( X174 = X176 ) )
=> ! [X178: subst > term > term] :
( ! [X180: subst,X182: term,X184: subst] :
( ( sub @ ( X178 @ X180 @ X182 ) @ X184 )
= ( X178 @ ( comp @ X180 @ X184 ) @ ( sub @ X182 @ X184 ) ) )
=> ! [X186: subst > term > term] :
( ! [X188: subst,X190: term,X192: subst] :
( ( sub @ ( X186 @ X188 @ X190 ) @ X192 )
= ( X186 @ ( comp @ X188 @ X192 ) @ ( sub @ X190 @ X192 ) ) )
=> ( ( ( lam @ ( X178 @ sh @ one ) )
= ( lam @ ( X186 @ sh @ one ) ) )
=> ! [X194: subst,X196: term] :
( ( X178 @ X194 @ X196 )
= ( X186 @ X194 @ X196 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).
thf(zf_stmt_1,negated_conjecture,
~ ( ! [X4: term,X6: term,X8: subst] :
( ( sub @ ( ap @ X4 @ X6 ) @ X8 )
= ( ap @ ( sub @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) )
=> ( ! [X10: term,X12: subst] :
( ( sub @ one @ ( push @ X10 @ X12 ) )
= X10 )
=> ( ! [X14: term] :
( ( sub @ X14 @ id )
= X14 )
=> ( ! [X16: term,X18: subst] :
( ( sub @ ( lam @ X16 ) @ X18 )
= ( lam @ ( sub @ X16 @ ( push @ one @ ( comp @ X18 @ sh ) ) ) ) )
=> ( ! [X20: term,X22: subst,X24: subst] :
( ( sub @ ( sub @ X20 @ X22 ) @ X24 )
= ( sub @ X20 @ ( comp @ X22 @ X24 ) ) )
=> ( ! [X26: subst] :
( ( comp @ id @ X26 )
= X26 )
=> ( ! [X28: term,X30: subst] :
( ( comp @ sh @ ( push @ X28 @ X30 ) )
= X30 )
=> ( ! [X32: subst,X34: subst,X36: subst] :
( ( comp @ ( comp @ X32 @ X34 ) @ X36 )
= ( comp @ X32 @ ( comp @ X34 @ X36 ) ) )
=> ( ! [X38: term,X40: subst,X42: subst] :
( ( comp @ ( push @ X38 @ X40 ) @ X42 )
= ( push @ ( sub @ X38 @ X42 ) @ ( comp @ X40 @ X42 ) ) )
=> ( ! [X44: subst] :
( ( comp @ X44 @ id )
= X44 )
=> ( ( ( push @ one @ sh )
= id )
=> ( ! [X46: subst] :
( ( push @ ( sub @ one @ X46 ) @ ( comp @ sh @ X46 ) )
= X46 )
=> ( ( var @ one )
=> ( ! [X48: term] :
( ( var @ X48 )
=> ( var @ ( sub @ X48 @ sh ) ) )
=> ( ! [X50: term > $o] :
( ( X50 @ one )
=> ( ! [X52: term] :
( ( var @ X52 )
=> ( ( X50 @ X52 )
=> ( X50 @ ( sub @ X52 @ sh ) ) ) )
=> ! [X54: term] :
( ( var @ X54 )
=> ( X50 @ X54 ) ) ) )
=> ( ! [X56: term,X58: term,X60: term,X62: term] :
( ( ( ap @ X56 @ X60 )
= ( ap @ X58 @ X62 ) )
=> ( X56 = X58 ) )
=> ( ! [X64: term,X66: term,X68: term,X70: term] :
( ( ( ap @ X64 @ X68 )
= ( ap @ X66 @ X70 ) )
=> ( X68 = X70 ) )
=> ( ! [X72: term,X74: term] :
( ( ( lam @ X72 )
= ( lam @ X74 ) )
=> ( X72 = X74 ) )
=> ( ! [X76: term,X78: term] :
( ( ( sub @ X76 @ sh )
= ( sub @ X78 @ sh ) )
=> ( X76 = X78 ) )
=> ( ! [X80: term,X82: term,X84: term] :
( ( lam @ X80 )
!= ( ap @ X82 @ X84 ) )
=> ( ! [X86: term,X88: term] :
~ ( var @ ( ap @ X86 @ X88 ) )
=> ( ! [X90: term] :
~ ( var @ ( lam @ X90 ) )
=> ( ! [X92: term > $o] :
( ! [X94: term] :
( ( var @ X94 )
=> ( X92 @ X94 ) )
=> ( ! [X96: term,X98: term] :
( ( X92 @ X96 )
=> ( ( X92 @ X98 )
=> ( X92 @ ( ap @ X96 @ X98 ) ) ) )
=> ( ! [X100: term] :
( ( X92 @ X100 )
=> ( X92 @ ( lam @ X100 ) ) )
=> ! [X102: term] : ( X92 @ X102 ) ) ) )
=> ( ! [X104: term > $o,X106: term,X108: subst] :
( ! [X110: term] :
( ( var @ X110 )
=> ( X104 @ ( sub @ X110 @ X108 ) ) )
=> ( ( X104 @ X106 )
=> ! [X112: term] :
( ( var @ X112 )
=> ( X104 @ ( sub @ X112 @ ( push @ X106 @ X108 ) ) ) ) ) )
=> ( ! [X114: term > $o] :
( ! [X116: term,X118: term] :
( ( X114 @ X116 )
=> ( ( X114 @ X118 )
=> ( X114 @ ( ap @ X116 @ X118 ) ) ) )
=> ( ! [X120: term] :
( ! [X122: term] :
( ( X114 @ X122 )
=> ( X114 @ ( sub @ X120 @ ( push @ X122 @ id ) ) ) )
=> ( X114 @ ( lam @ X120 ) ) )
=> ! [X124: term,X126: subst] :
( ! [X128: term] :
( ( var @ X128 )
=> ( X114 @ ( sub @ X128 @ X126 ) ) )
=> ( X114 @ ( sub @ X124 @ X126 ) ) ) ) )
=> ( ! [X130: term > $o] :
( ! [X132: term] :
( ( var @ X132 )
=> ( X130 @ X132 ) )
=> ( ! [X134: term,X136: term] :
( ( X130 @ X134 )
=> ( ( X130 @ X136 )
=> ( X130 @ ( ap @ X134 @ X136 ) ) ) )
=> ( ! [X138: term] :
( ! [X140: term] :
( ( X130 @ X140 )
=> ( X130 @ ( sub @ X138 @ ( push @ X140 @ id ) ) ) )
=> ( X130 @ ( lam @ X138 ) ) )
=> ! [X142: term] : ( X130 @ X142 ) ) ) )
=> ( ( ! [X148: subst,X150: subst,X152: subst] :
( ( comp @ ( comp @ X148 @ X150 ) @ X152 )
= ( comp @ X148 @ ( comp @ X150 @ X152 ) ) )
& ! [X146: subst] :
( ( comp @ id @ X146 )
= X146 )
& ! [X144: subst] :
( ( comp @ X144 @ id )
= X144 ) )
=> ( ( ! [X156: term,X158: subst,X160: subst] :
( ( sub @ ( sub @ X156 @ X158 ) @ X160 )
= ( sub @ X156 @ ( comp @ X158 @ X160 ) ) )
& ! [X154: term] :
( ( sub @ X154 @ id )
= X154 ) )
=> ( ! [X162: term,X164: term,X166: term,X168: term] :
( ( ( ap @ ( sub @ X162 @ id ) @ X166 )
= ( ap @ ( sub @ X164 @ id ) @ X168 ) )
=> ( X162 = X164 ) )
=> ( ! [X170: term,X172: term,X174: term,X176: term] :
( ( ( ap @ ( sub @ X170 @ id ) @ X174 )
= ( ap @ ( sub @ X172 @ id ) @ X176 ) )
=> ( X174 = X176 ) )
=> ! [X178: subst > term > term] :
( ! [X180: subst,X182: term,X184: subst] :
( ( sub @ ( X178 @ X180 @ X182 ) @ X184 )
= ( X178 @ ( comp @ X180 @ X184 ) @ ( sub @ X182 @ X184 ) ) )
=> ! [X186: subst > term > term] :
( ! [X188: subst,X190: term,X192: subst] :
( ( sub @ ( X186 @ X188 @ X190 ) @ X192 )
= ( X186 @ ( comp @ X188 @ X192 ) @ ( sub @ X190 @ X192 ) ) )
=> ( ( ( lam @ ( X178 @ sh @ one ) )
= ( lam @ ( X186 @ sh @ one ) ) )
=> ! [X194: subst,X196: term] :
( ( X178 @ X194 @ X196 )
= ( X186 @ X194 @ X196 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference('cnf.neg',[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl0,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( ap @ Y0 @ Y1 ) @ Y2 )
= ( ap @ ( sub @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( sub @ one @ ( push @ Y0 @ Y1 ) )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( sub @ ( lam @ Y0 ) @ Y1 )
= ( lam @ ( sub @ Y0 @ ( push @ one @ ( comp @ Y1 @ sh ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
= Y1 ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
= ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) )
=> ( ( ( push @ one @ sh )
= id )
=> ( ( !!
@ ^ [Y0: subst] :
( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
= Y0 ) )
=> ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(cnf,[status(esa)],[zf_stmt_1]) ).
thf(zip_derived_cl2,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( sub @ one @ ( push @ Y0 @ Y1 ) )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( sub @ ( lam @ Y0 ) @ Y1 )
= ( lam @ ( sub @ Y0 @ ( push @ one @ ( comp @ Y1 @ sh ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
= Y1 ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
= ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) )
=> ( ( ( push @ one @ sh )
= id )
=> ( ( !!
@ ^ [Y0: subst] :
( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
= Y0 ) )
=> ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl0]) ).
thf(zip_derived_cl5,plain,
~ ( ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( sub @ ( lam @ Y0 ) @ Y1 )
= ( lam @ ( sub @ Y0 @ ( push @ one @ ( comp @ Y1 @ sh ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
= Y1 ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
= ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) )
=> ( ( ( push @ one @ sh )
= id )
=> ( ( !!
@ ^ [Y0: subst] :
( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
= Y0 ) )
=> ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl2]) ).
thf(zip_derived_cl9,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( sub @ ( lam @ Y0 ) @ Y1 )
= ( lam @ ( sub @ Y0 @ ( push @ one @ ( comp @ Y1 @ sh ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
= Y1 ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
= ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) )
=> ( ( ( push @ one @ sh )
= id )
=> ( ( !!
@ ^ [Y0: subst] :
( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
= Y0 ) )
=> ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl5]) ).
thf(zip_derived_cl14,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
= Y1 ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
= ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) )
=> ( ( ( push @ one @ sh )
= id )
=> ( ( !!
@ ^ [Y0: subst] :
( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
= Y0 ) )
=> ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl9]) ).
thf(zip_derived_cl20,plain,
~ ( ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
= Y1 ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
= ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) )
=> ( ( ( push @ one @ sh )
= id )
=> ( ( !!
@ ^ [Y0: subst] :
( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
= Y0 ) )
=> ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl14]) ).
thf(zip_derived_cl24,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
= Y1 ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
= ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) )
=> ( ( ( push @ one @ sh )
= id )
=> ( ( !!
@ ^ [Y0: subst] :
( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
= Y0 ) )
=> ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl20]) ).
thf(zip_derived_cl29,plain,
~ ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
= ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) )
=> ( ( ( push @ one @ sh )
= id )
=> ( ( !!
@ ^ [Y0: subst] :
( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
= Y0 ) )
=> ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl24]) ).
thf(zip_derived_cl34,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
= ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) )
=> ( ( ( push @ one @ sh )
= id )
=> ( ( !!
@ ^ [Y0: subst] :
( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
= Y0 ) )
=> ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl29]) ).
thf(zip_derived_cl39,plain,
~ ( ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) )
=> ( ( ( push @ one @ sh )
= id )
=> ( ( !!
@ ^ [Y0: subst] :
( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
= Y0 ) )
=> ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl34]) ).
thf(zip_derived_cl44,plain,
~ ( ( ( push @ one @ sh )
= id )
=> ( ( !!
@ ^ [Y0: subst] :
( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
= Y0 ) )
=> ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl39]) ).
thf(zip_derived_cl49,plain,
~ ( ( !!
@ ^ [Y0: subst] :
( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
= Y0 ) )
=> ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl44]) ).
thf(zip_derived_cl55,plain,
~ ( ( var @ one )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl49]) ).
thf(zip_derived_cl59,plain,
~ ( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( var @ ( sub @ Y0 @ sh ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl55]) ).
thf(zip_derived_cl62,plain,
~ ( ( !!
@ ^ [Y0: term > $o] :
( ( Y0 @ one )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( ( Y0 @ Y1 )
=> ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl59]) ).
thf(zip_derived_cl65,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl62]) ).
thf(zip_derived_cl69,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ Y0 @ Y2 )
= ( ap @ Y1 @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl65]) ).
thf(zip_derived_cl73,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl69]) ).
thf(zip_derived_cl78,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( sub @ Y0 @ sh )
= ( sub @ Y1 @ sh ) )
=> ( Y0 = Y1 ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl73]) ).
thf(zip_derived_cl84,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ Y0 )
!= ( ap @ Y1 @ Y2 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl78]) ).
thf(zip_derived_cl92,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl84]) ).
thf(zip_derived_cl102,plain,
~ ( ( !!
@ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl92]) ).
thf(zip_derived_cl113,plain,
~ ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( Y0 @ Y1 )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl102]) ).
thf(zip_derived_cl122,plain,
~ ( ( !!
@ ^ [Y0: term > $o] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( ( Y0 @ Y1 )
=> ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl113]) ).
thf(zip_derived_cl126,plain,
~ ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( !!
@ ^ [Y3: term] :
( ( var @ Y3 )
=> ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
=> ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl122]) ).
thf(zip_derived_cl130,plain,
~ ( ( !!
@ ^ [Y0: term > $o] :
( ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ Y1 ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ Y1 )
=> ( ( Y0 @ Y2 )
=> ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ Y2 )
=> ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
=> ( Y0 @ ( lam @ Y1 ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl126]) ).
thf(zip_derived_cl135,plain,
~ ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl130]) ).
thf(zip_derived_cl142,plain,
~ ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl135]) ).
thf(zip_derived_cl154,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl142]) ).
thf(zip_derived_cl167,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl154]) ).
thf(zip_derived_cl186,plain,
~ ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl167]) ).
thf(zip_derived_cl202,plain,
~ ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( '#sk263' @ Y0 @ Y1 ) @ Y2 )
= ( '#sk263' @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( ( lam @ ( '#sk263' @ sh @ one ) )
= ( lam @ ( Y0 @ sh @ one ) ) )
=> ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( ( '#sk263' @ Y1 @ Y2 )
= ( Y0 @ Y1 @ Y2 ) ) ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl186]) ).
thf(zip_derived_cl218,plain,
~ ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( ( lam @ ( '#sk263' @ sh @ one ) )
= ( lam @ ( Y0 @ sh @ one ) ) )
=> ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( ( '#sk263' @ Y1 @ Y2 )
= ( Y0 @ Y1 @ Y2 ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl202]) ).
thf(zip_derived_cl235,plain,
~ ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( '#sk374' @ Y0 @ Y1 ) @ Y2 )
= ( '#sk374' @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( ( lam @ ( '#sk263' @ sh @ one ) )
= ( lam @ ( '#sk374' @ sh @ one ) ) )
=> ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( ( '#sk263' @ Y0 @ Y1 )
= ( '#sk374' @ Y0 @ Y1 ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl218]) ).
thf(zip_derived_cl246,plain,
~ ( ( ( lam @ ( '#sk263' @ sh @ one ) )
= ( lam @ ( '#sk374' @ sh @ one ) ) )
=> ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( ( '#sk263' @ Y0 @ Y1 )
= ( '#sk374' @ Y0 @ Y1 ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl235]) ).
thf(zip_derived_cl257,plain,
( ( lam @ ( '#sk263' @ sh @ one ) )
= ( lam @ ( '#sk374' @ sh @ one ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl246]) ).
thf(zip_derived_cl269,plain,
( ( lam @ ( '#sk263' @ sh @ one ) )
= ( lam @ ( '#sk374' @ sh @ one ) ) ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl257]) ).
thf(zip_derived_cl77,plain,
( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( ( lam @ Y0 )
= ( lam @ Y1 ) )
=> ( Y0 = Y1 ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl73]) ).
thf(zip_derived_cl82,plain,
! [X2: term] :
( !!
@ ^ [Y0: term] :
( ( ( lam @ X2 )
= ( lam @ Y0 ) )
=> ( X2 = Y0 ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl77]) ).
thf(zip_derived_cl89,plain,
! [X2: term,X4: term] :
( ( ( lam @ X2 )
= ( lam @ X4 ) )
=> ( X2 = X4 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl82]) ).
thf(zip_derived_cl98,plain,
! [X2: term,X4: term] :
( ( ( lam @ X2 )
!= ( lam @ X4 ) )
| ( X2 = X4 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl89]) ).
thf(zip_derived_cl108,plain,
! [X2: term,X4: term] :
( ( ( lam @ X2 )
!= ( lam @ X4 ) )
| ( X2 = X4 ) ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl98]) ).
thf(zip_derived_cl320,plain,
! [X0: term] :
( ( ( lam @ X0 )
!= ( lam @ ( '#sk263' @ sh @ one ) ) )
| ( X0
= ( '#sk374' @ sh @ one ) ) ),
inference('sup-',[status(thm)],[zip_derived_cl269,zip_derived_cl108]) ).
thf(zip_derived_cl1519,plain,
( ( '#sk263' @ sh @ one )
= ( '#sk374' @ sh @ one ) ),
inference(eq_res,[status(thm)],[zip_derived_cl320]) ).
thf(zip_derived_cl28,plain,
( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
= Y1 ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl24]) ).
thf(zip_derived_cl32,plain,
! [X2: term] :
( !!
@ ^ [Y0: subst] :
( ( comp @ sh @ ( push @ X2 @ Y0 ) )
= Y0 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl28]) ).
thf(zip_derived_cl36,plain,
! [X2: term,X4: subst] :
( ( comp @ sh @ ( push @ X2 @ X4 ) )
= X4 ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl32]) ).
thf(zip_derived_cl40,plain,
! [X2: term,X4: subst] :
( ( comp @ sh @ ( push @ X2 @ X4 ) )
= X4 ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl36]) ).
thf(zip_derived_cl245,plain,
( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( '#sk374' @ Y0 @ Y1 ) @ Y2 )
= ( '#sk374' @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl235]) ).
thf(zip_derived_cl256,plain,
! [X2: subst] :
( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( sub @ ( '#sk374' @ X2 @ Y0 ) @ Y1 )
= ( '#sk374' @ ( comp @ X2 @ Y1 ) @ ( sub @ Y0 @ Y1 ) ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl245]) ).
thf(zip_derived_cl268,plain,
! [X2: subst,X4: term] :
( !!
@ ^ [Y0: subst] :
( ( sub @ ( '#sk374' @ X2 @ X4 ) @ Y0 )
= ( '#sk374' @ ( comp @ X2 @ Y0 ) @ ( sub @ X4 @ Y0 ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl256]) ).
thf(zip_derived_cl274,plain,
! [X2: subst,X4: term,X6: subst] :
( ( sub @ ( '#sk374' @ X2 @ X4 ) @ X6 )
= ( '#sk374' @ ( comp @ X2 @ X6 ) @ ( sub @ X4 @ X6 ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl268]) ).
thf(zip_derived_cl280,plain,
! [X2: subst,X4: term,X6: subst] :
( ( sub @ ( '#sk374' @ X2 @ X4 ) @ X6 )
= ( '#sk374' @ ( comp @ X2 @ X6 ) @ ( sub @ X4 @ X6 ) ) ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl274]) ).
thf(zip_derived_cl7329,plain,
! [X0: subst,X1: term,X2: term] :
( ( sub @ ( '#sk374' @ sh @ X2 ) @ ( push @ X1 @ X0 ) )
= ( '#sk374' @ X0 @ ( sub @ X2 @ ( push @ X1 @ X0 ) ) ) ),
inference('sup+',[status(thm)],[zip_derived_cl40,zip_derived_cl280]) ).
thf(zip_derived_cl8268,plain,
! [X0: subst,X1: term] :
( ( sub @ ( '#sk263' @ sh @ one ) @ ( push @ X1 @ X0 ) )
= ( '#sk374' @ X0 @ ( sub @ one @ ( push @ X1 @ X0 ) ) ) ),
inference('sup+',[status(thm)],[zip_derived_cl1519,zip_derived_cl7329]) ).
thf(zip_derived_cl1519_001,plain,
( ( '#sk263' @ sh @ one )
= ( '#sk374' @ sh @ one ) ),
inference(eq_res,[status(thm)],[zip_derived_cl320]) ).
thf(zip_derived_cl1519_002,plain,
( ( '#sk263' @ sh @ one )
= ( '#sk374' @ sh @ one ) ),
inference(eq_res,[status(thm)],[zip_derived_cl320]) ).
thf(zip_derived_cl40_003,plain,
! [X2: term,X4: subst] :
( ( comp @ sh @ ( push @ X2 @ X4 ) )
= X4 ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl36]) ).
thf(zip_derived_cl217,plain,
( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( '#sk263' @ Y0 @ Y1 ) @ Y2 )
= ( '#sk263' @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl202]) ).
thf(zip_derived_cl234,plain,
! [X2: subst] :
( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( sub @ ( '#sk263' @ X2 @ Y0 ) @ Y1 )
= ( '#sk263' @ ( comp @ X2 @ Y1 ) @ ( sub @ Y0 @ Y1 ) ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl217]) ).
thf(zip_derived_cl244,plain,
! [X2: subst,X4: term] :
( !!
@ ^ [Y0: subst] :
( ( sub @ ( '#sk263' @ X2 @ X4 ) @ Y0 )
= ( '#sk263' @ ( comp @ X2 @ Y0 ) @ ( sub @ X4 @ Y0 ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl234]) ).
thf(zip_derived_cl255,plain,
! [X2: subst,X4: term,X6: subst] :
( ( sub @ ( '#sk263' @ X2 @ X4 ) @ X6 )
= ( '#sk263' @ ( comp @ X2 @ X6 ) @ ( sub @ X4 @ X6 ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl244]) ).
thf(zip_derived_cl267,plain,
! [X2: subst,X4: term,X6: subst] :
( ( sub @ ( '#sk263' @ X2 @ X4 ) @ X6 )
= ( '#sk263' @ ( comp @ X2 @ X6 ) @ ( sub @ X4 @ X6 ) ) ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl255]) ).
thf(zip_derived_cl6502,plain,
! [X0: subst,X1: term,X2: term] :
( ( sub @ ( '#sk263' @ sh @ X2 ) @ ( push @ X1 @ X0 ) )
= ( '#sk263' @ X0 @ ( sub @ X2 @ ( push @ X1 @ X0 ) ) ) ),
inference('sup+',[status(thm)],[zip_derived_cl40,zip_derived_cl267]) ).
thf(zip_derived_cl6597,plain,
! [X0: subst,X1: term] :
( ( sub @ ( '#sk374' @ sh @ one ) @ ( push @ X1 @ X0 ) )
= ( '#sk263' @ X0 @ ( sub @ one @ ( push @ X1 @ X0 ) ) ) ),
inference('sup+',[status(thm)],[zip_derived_cl1519,zip_derived_cl6502]) ).
thf(zip_derived_cl4,plain,
( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( sub @ one @ ( push @ Y0 @ Y1 ) )
= Y0 ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl2]) ).
thf(zip_derived_cl7,plain,
! [X2: term] :
( !!
@ ^ [Y0: subst] :
( ( sub @ one @ ( push @ X2 @ Y0 ) )
= X2 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl4]) ).
thf(zip_derived_cl11,plain,
! [X2: term,X4: subst] :
( ( sub @ one @ ( push @ X2 @ X4 ) )
= X2 ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl7]) ).
thf(zip_derived_cl16,plain,
! [X2: term,X4: subst] :
( ( sub @ one @ ( push @ X2 @ X4 ) )
= X2 ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl11]) ).
thf(zip_derived_cl6619,plain,
! [X0: subst,X1: term] :
( ( sub @ ( '#sk374' @ sh @ one ) @ ( push @ X1 @ X0 ) )
= ( '#sk263' @ X0 @ X1 ) ),
inference(demod,[status(thm)],[zip_derived_cl6597,zip_derived_cl16]) ).
thf(zip_derived_cl6856,plain,
! [X0: term,X1: subst] :
( ( sub @ ( '#sk263' @ sh @ one ) @ ( push @ X0 @ X1 ) )
= ( '#sk263' @ X1 @ X0 ) ),
inference('sup+',[status(thm)],[zip_derived_cl1519,zip_derived_cl6619]) ).
thf(zip_derived_cl16_004,plain,
! [X2: term,X4: subst] :
( ( sub @ one @ ( push @ X2 @ X4 ) )
= X2 ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl11]) ).
thf(zip_derived_cl8363,plain,
! [X0: subst,X1: term] :
( ( '#sk263' @ X0 @ X1 )
= ( '#sk374' @ X0 @ X1 ) ),
inference(demod,[status(thm)],[zip_derived_cl8268,zip_derived_cl6856,zip_derived_cl16]) ).
thf(zip_derived_cl258,plain,
~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( ( '#sk263' @ Y0 @ Y1 )
= ( '#sk374' @ Y0 @ Y1 ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl246]) ).
thf(zip_derived_cl270,plain,
~ ( !!
@ ^ [Y0: term] :
( ( '#sk263' @ '#sk467' @ Y0 )
= ( '#sk374' @ '#sk467' @ Y0 ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl258]) ).
thf(zip_derived_cl275,plain,
( ( '#sk263' @ '#sk467' @ '#sk491' )
!= ( '#sk374' @ '#sk467' @ '#sk491' ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl270]) ).
thf(zip_derived_cl281,plain,
( ( '#sk263' @ '#sk467' @ '#sk491' )
!= ( '#sk374' @ '#sk467' @ '#sk491' ) ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl275]) ).
thf(zip_derived_cl8405,plain,
( ( '#sk374' @ '#sk467' @ '#sk491' )
!= ( '#sk374' @ '#sk467' @ '#sk491' ) ),
inference('sup-',[status(thm)],[zip_derived_cl8363,zip_derived_cl281]) ).
thf(zip_derived_cl8432,plain,
$false,
inference(simplify,[status(thm)],[zip_derived_cl8405]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.12/0.12 % Problem : ALG258^1 : TPTP v8.1.2. Bugfixed v5.2.0.
% 0.12/0.13 % Command : python3 /export/starexec/sandbox2/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox2/tmp/tmp.Hqsl0p5v8H true
% 0.13/0.34 % Computer : n024.cluster.edu
% 0.13/0.34 % Model : x86_64 x86_64
% 0.13/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34 % Memory : 8042.1875MB
% 0.13/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34 % CPULimit : 300
% 0.13/0.34 % WCLimit : 300
% 0.13/0.34 % DateTime : Mon Aug 28 03:59:53 EDT 2023
% 0.13/0.34 % CPUTime :
% 0.13/0.34 % Running portfolio for 300 s
% 0.13/0.34 % File : /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.13/0.34 % Number of cores: 8
% 0.13/0.35 % Python version: Python 3.6.8
% 0.13/0.35 % Running in HO mode
% 0.20/0.64 % Total configuration time : 828
% 0.20/0.64 % Estimated wc time : 1656
% 0.20/0.64 % Estimated cpu time (8 cpus) : 207.0
% 0.20/0.72 % /export/starexec/sandbox2/solver/bin/lams/40_c.s.sh running for 80s
% 0.20/0.72 % /export/starexec/sandbox2/solver/bin/lams/35_full_unif4.sh running for 80s
% 1.18/0.73 % /export/starexec/sandbox2/solver/bin/lams/40_c_ic.sh running for 80s
% 1.18/0.74 % /export/starexec/sandbox2/solver/bin/lams/40_noforms.sh running for 90s
% 1.18/0.74 % /export/starexec/sandbox2/solver/bin/lams/15_e_short1.sh running for 30s
% 1.18/0.74 % /export/starexec/sandbox2/solver/bin/lams/40_b.comb.sh running for 70s
% 1.33/0.77 % /export/starexec/sandbox2/solver/bin/lams/20_acsne_simpl.sh running for 40s
% 1.33/0.77 % /export/starexec/sandbox2/solver/bin/lams/30_sp5.sh running for 60s
% 1.33/0.79 % /export/starexec/sandbox2/solver/bin/lams/30_b.l.sh running for 90s
% 19.23/3.06 % Solved by lams/20_acsne_simpl.sh.
% 19.23/3.06 % done 444 iterations in 2.133s
% 19.23/3.06 % SZS status Theorem for '/export/starexec/sandbox2/benchmark/theBenchmark.p'
% 19.23/3.06 % SZS output start Refutation
% See solution above
% 19.23/3.08
% 19.23/3.08
% 19.23/3.08 % Terminating...
% 19.89/3.16 % Runner terminated.
% 19.89/3.17 % Zipperpin 1.5 exiting
%------------------------------------------------------------------------------